package webEquipeRechercheGwt.ejbServer.statelessBeans;

import java.sql.Date;
import java.util.Collection;

import webEquipeRechercheGwt.client.entityMirror.PaperMirror;
import webEquipeRechercheGwt.client.entityMirror.PersonMirror;
import webEquipeRechercheGwt.client.entityMirror.SeminarMirror;
import webEquipeRechercheGwt.client.entityMirror.SoftwareMirror;
import webEquipeRechercheGwt.client.entityMirror.TeamMirror;
import webEquipeRechercheGwt.ejbServer.metier.Person;
import webEquipeRechercheGwt.ejbServer.metier.Seminar;

public interface WebEquipeRechercheFacadeRemote {

	public void addPerson(String name, String firstname, String phone, String mail);
	
	public void addPersonToSeminar(Person p, Seminar s);
	
	public void addSeminar(String title, String abstrac, String place,Date dateFrom, Date dateUntil, String url4Slides,
			Collection<Person> speakers);
	
	public void addSeminar(String title, String abstrac, String place,Date dateFrom, Date dateUntil, String url4Slides);
	
	public void createTeam(String name);
	
	public Person findPerson(int id);
	
	public Seminar findSeminar(int id);
	
	public Collection<PersonMirror> getPersonsMirrors();
	
	public Collection<PaperMirror> getPapersMirrors();
	
	public Collection<SoftwareMirror> getSoftwaresMirrors();
	
	public Collection<TeamMirror> getTeamsMirrors();
	
	public Collection<SeminarMirror> getSeminarsMirrors();

	public boolean createPaper(PaperMirror newPaper);
	
	public boolean createSoftware(SoftwareMirror newSoftware);
	
	public boolean createSeminar(SeminarMirror newSeminar);
	
	public boolean createTeam(TeamMirror newTeam);
	
	public boolean createPerson(PersonMirror newPerson);
	
	public boolean linkPersonToTeam(PersonMirror p, TeamMirror t);

	public boolean linkPersonToSoftware(PersonMirror p, SoftwareMirror s);

	public boolean linkPersonToSeminar(PersonMirror p, SeminarMirror s);

	public boolean linkPersonToPaper(PersonMirror p, PaperMirror paper);
}
